const fs = require("fs");
const path = require("path");

const { prefix } = require("./config")

const currentDate = new Date().toISOString().split('T')[0];
console.log(currentDate);

// 本地静态数据数组，每个元素包含页面的 slug、更新日期和优先级
const urls = [
  { slug: "", updatedAt: currentDate, priority: 1.0 },
  { slug: "statement", updatedAt: currentDate, priority: 0.5 },
  { slug: "search", updatedAt: currentDate, priority: 0.8 },
  { slug: "viewing", updatedAt: currentDate, priority: 0.5 },
  // 其他页面...
];

// 生成静态站点地图的函数
async function generateStaticSitemap() {
  // 创建站点地图 XML 内容
  const sitemapContent = `<?xml version="1.0" encoding="UTF-8"?>
  <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
    ${urls.map(({ slug, updatedAt, priority }) => `
      <url>
        <loc>${prefix}/${slug}</loc>
        <lastmod>${new Date(updatedAt).toISOString()}</lastmod>
        <changefreq>daily</changefreq>
        <priority>${priority}</priority>
      </url>`).join("")}
  </urlset>`;

  // 目标目录路径
  const sitemapDir = path.join(process.cwd(), "public", "sitemaps");

  // 确保 `public/sitemaps/` 目录存在，如果不存在则创建
  if (!fs.existsSync(sitemapDir)) {
    fs.mkdirSync(sitemapDir, { recursive: true });
    console.log("✅ 创建目录: public/sitemaps/");
  }

  // 使用固定文件名 "static-sitemap.xml"
  const sitemapFileName = "static-sitemap.xml";  // 固定文件名
  const sitemapPath = path.join(sitemapDir, sitemapFileName);

  // 将站点地图写入 `public/sitemaps/static-sitemap.xml`
  fs.writeFileSync(sitemapPath, sitemapContent);

  console.log(`✅ 静态站点地图生成完成: /public/sitemaps/${sitemapFileName}`);
}

// 执行静态站点地图生成
generateStaticSitemap();

// 导出
module.exports = { generateStaticSitemap };